/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Source;

import java.sql.ResultSet;
import java.util.LinkedList;

/**
 *
 * @author BlackEmpires
 */
public class Auditoria_DAO {

    private String sentenciaSQL;
    ConexionDB conexion;
    LinkedList<Auditoria_POJO> listaDetalle = new LinkedList<Auditoria_POJO>();
    ResultSet resultado;

    public Auditoria_DAO(ConexionDB pConexion) {

        conexion = pConexion;
    }

    public LinkedList<Auditoria_POJO> obtenerReg(int pIdAuditoria) {

        sentenciaSQL = "SELECT * FROM auditoria WHERE idAuditoria=" + pIdAuditoria;

        try {
            resultado = conexion.getResultSet(sentenciaSQL);

            if (resultado.next()) {
                Auditoria_POJO objAuditoria = new Auditoria_POJO();
                objAuditoria.setDescripcion(resultado.getString("descripcion"));
                objAuditoria.setFecha(resultado.getString("fecha"));
                objAuditoria.setIdAuditoria(Integer.parseInt(resultado.getString("idAuditoria")));
                objAuditoria.setObjetoDB(resultado.getString("objetoDB"));
                objAuditoria.setRelevancia(resultado.getString("relevancia"));
                objAuditoria.setUsuario(resultado.getString("usuario"));

                listaDetalle.add(objAuditoria);
                System.out.println("Resultado " + resultado.getString("usuario"));

            }

        } catch (Exception ex) {
            System.out.println("error " + ex);
        }

        return listaDetalle;
    }

    public void guardarReg(int pIdAuditoria, String pFecha, String pObjetoDB, String pDescripcion, String pRelevancia, String pUsuario) {

        //Tipos de datos en la BD  idAuditoria int , fecha timestamp, objetoDB varchar(45), descripcion varchar (100), relevancia varchar(45), usuario varchar(45)
        sentenciaSQL = "INSERT INTO auditoria(idAuditoria,fecha,objetoDB,descripcion,relevancia,usuario) VALUES ("
                + pIdAuditoria + ",'" + pFecha + "','" + pObjetoDB + "','" + pDescripcion + "','" + pRelevancia + "','" + pUsuario + "')";

        //System.out.println("INSERT "+sentenciaSQL);
        try {
            conexion.executeQuery(sentenciaSQL);
            //System.out.println ("Insert exitoso");

        } catch (Exception ex) {
            System.out.println("error " + ex);
        }

    }

    public void actualizarReg(int pIdAuditoria, String pFecha, String pObjetoDB, String pDescripcion, String pRelevancia, String pUsuario) {

        sentenciaSQL = "UPDATE auditoria SET fecha = '" + pFecha + "',objetoDB = '"
                + pObjetoDB + "',descripcion = '" + pDescripcion + "',relevancia = '" + pRelevancia + "',usuario = '" + pUsuario + "'"
                + "WHERE idAuditoria = " + pIdAuditoria;

        //System.out.println(sentenciaSQL);
        try {
            conexion.executeQuery(sentenciaSQL);
            //System.out.println ("Insert exitoso");

        } catch (Exception ex) {
            System.out.println("error " + ex);
        }
    }

    public boolean eliminarReg(int pIdAuditoria) {

        sentenciaSQL = "DELETE FROM auditoria WHERE idAuditoria=" + pIdAuditoria;

        try {
            conexion.executeQuery(sentenciaSQL);
            return true;

        } catch (Exception ex) {
            System.out.println("error " + ex);
            return false;
        }

    }
}
